public class test {

    public static void main(String[] args) {
        // 字符串拼接
        /*String str1 = "Hello";
        String str2 = " World";
        String result = str1 + str2; // result 的值为 "Hello World"

        int num3 = 8;
        int num4 = 3;
        int num5 = num3 - num4; // num5 的值为 5*/


        /*int num = 5;
        String result = "The number is: " + num; // 正确拼接
        int a = 1, b = 2;
        String str = "" + a + b; // 结果是 "12"，而不是 "3"


        int num3 = 8;
        int num4 = 3;
        int difference = num3 - num4; // difference 的值为 5


        int num5 = 4;
        int num6 = 5;
        int product = num5 * num6; // product 的值为 20*/


        /*int num7 = 10;
        int num8 = 3;
        double num10 = 3;
        double num11 = 10;
        double num9 = num7 / num8;
        double num12 = num7 / num10;
        double num13 = num11 / num8;

        System.out.println(num9);
        System.out.println(num12);
        System.out.println(num13);*/


        /*int num11 = 10;
        int num12 = 3;
        int remainder = num11 % num12; // remainder 的值为 1*/



        /*int a = 10;
        int b = 3;
        int Result = a % b;
// 结果为 1，因为 10 除以 3 商 3 余 1
        System.out.println(Result);

        int c = -10;
        int Result1 = c % b;
// 结果为 -1，结果符号与被除数 -10 一致
        System.out.println(Result1);

        int d = 10;
        int e = -3;
        int Result2 = d % e;
// 结果为 1，结果符号与被除数 10 一致
        System.out.println(Result2);*/


        /*int num13 = 5;
        int result1 = ++num13; // 前缀自增，num13 先变为 6，再赋值给 result1，result1 的值为 6
        int num14 = 5;
        int result2 = num14++; // 后缀自增，先将 num14 的值 5 赋值给 result2，num14 再变为 6，result2 的值为 5

        int num15 = 5;
        int result3 = --num15; // 前缀自减，num15 先变为 4，再赋值给 result3，result3 的值为 4
        int num16 = 5;
        int result4 = num16--; // 后缀自减，先将 num16 的值 5 赋值给 result4，num16 再变为 4，result4 的值为 5*/


        /*int num18 = 5;
        num18 += 3; // 等价于 num18 = num18 + 3，num18 的值为 8


        int num19 = 5;
        num19 -= 3; // 等价于 num19 = num19 - 3，num19 的值为 2

        int num20 = 5;
        num20 *= 3; // 等价于 num20 = num20 * 3，num20 的值为 15


        int num21 = 6;
        num21 /= 3; // 等价于 num21 = num21 / 3，num21 的值为 2*/


    /*    int num22 = 7;
        num22 %= 3; // 等价于 num22 = num22 % 3，num22 的值为 1

        int num23 = 5;
        int num24 = 5;
        //boolean isEqual = (num23 == num24); // isEqual 的值为 true


        String str1 = new String("hello");
        String str2 = new String("hello");
        boolean isSame = str1 == str2;//比较的是引用
        boolean isEqual = str1.equals(str2);//比较的是内容

        int num25 = 5;
        int num26 = 3;
        boolean isNotEqual = (num25 != num26); // isNotEqual 的值为 true


        int num27 = 5;
        int num28 = 3;
        boolean isGreater = (num27 > num28); // isGreater 的值为 true
        int num31 = 5;
        int num32 = 5;
        boolean isGreaterOrEqual = (num31 >= num32); // isGreaterOrEqual 的值为 true

        boolean condition1 = true;
        boolean condition2 = false;
        boolean result5 = condition1 && condition2; // result5 的值为 false


        int a = 5;
        boolean result = (a > 10) && (++a > 20); // a > 10 为 false，++a 不会执行


        boolean condition5 = true;
        boolean result7 = !condition5; // result7 的值为 false
*/

        /*int a = 5;
// 二进制 0101
        int b = 3;
// 二进制 0011
        int result = a & b;
// 二进制 0001，结果为 1
        System.out.println(result);

        int c = 5;
// 二进制 0101
        int d = 3;
// 二进制 0011
        int result1 = c | d;
// 二进制 0111，结果为 7
        System.out.println(result1);


        int e = 5;
// 二进制 0101
        int f = 3;
// 二进制 0011
        int result2 = e ^ f;
// 二进制 0110，结果为 6
        System.out.println(result2);

        int g = 5;
// 二进制 0101
        int result3 = ~g;
// 二进制 1010，结果为 -6
        System.out.println(result3);

        int h = 5;
// 二进制 0101
        int result4 = h << 2;
// 二进制 010100，结果为 20
        System.out.println(result4);

        int i = 5;
// 二进制 0101
        int result5 = i >> 1;
// 二进制 0010，结果为 2
        System.out.println(result5);

        int j = -5;
// 二进制补码表示
        int result6 = j >> 1;
// 负数右移，左边补 1
        System.out.println(result6);

        int k = -5;
// 二进制补码表示
        int result7 = k >>> 1;
// 无符号右移，左边补 0
        System.out.println(result7);*/

int b = 10;
    }




}
class Person {
    String name;
    Person(String name) {
        this.name = name;
    }

    public static void main(String[] args) {
        Person p1 = new Person("Alice");
        // p2 和 p1 指向同一个 Person 对象
        Person p2 = p1;
        p2.name = "Bob";
// 输出 "Bob"，因为 p1 和 p2 指向同一个对象
        System.out.println(p1.name);
    }
}



